<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			// $.ajax()
			
			function ajax(options,callback){
				let xhr = null;
				// 创建xhr对象
				// var xhr = new XMLHttpRequest()
				// ie创建xhr，new ActiveXObject('Microsoft.XMLHTTP')//兼容IE5,IE6
				if(XMLHttpRequest){
					xhr = new XMLHttpRequest()
				}else{
					xhr = new ActiveXObject('Microsoft.XMLHTTP')
				}
				
				// 设置路径和方法
				xhr.open(options.method,options.url)
				// 设置数据，并且发送,一般post/put
				xhr.send(options.data)
				// 监听请求状态，执行对应的回调函数
				xhr.onreadystatechange = function(){
					if(xhr.readyState == 4 && xhr.status == 200){
						callback(xhr.response)
					}else if(xhr.readyState == 4 && xhr.status !==200){
						callback(new Error('请求失败'))
					}
				}
			}
			
			let httpUrl = 'https://getman.cn/mock/laochen/demo'
			ajax({url:httpUrl,method:"get"},function(res){
				console.log(res)
			})
			
			
			function lcAxios(url){
				return new Promise(function(resolve,reject){
					let xhr = null;
					// 创建xhr对象
					// var xhr = new XMLHttpRequest()
					// ie创建xhr，new ActiveXObject('Microsoft.XMLHTTP')//兼容IE5,IE6
					let options = {
						method:"get",
						url
					}
					if(XMLHttpRequest){
						xhr = new XMLHttpRequest()
					}else{
						xhr = new ActiveXObject('Microsoft.XMLHTTP')
					}
					
					// 设置路径和方法
					xhr.open(options.method,options.url)
					// 设置数据，并且发送,一般post/put
					xhr.send(options.data)
					// 监听请求状态，执行对应的回调函数
					xhr.onreadystatechange = function(){
						if(xhr.readyState == 4 && xhr.status == 200){
							// callback(xhr.response)
							resolve(xhr.response)
						}else if(xhr.readyState == 4 && xhr.status !==200){
							// callback(new Error('请求失败'))
							reject(new Error('请求失败'))
						}
					}
				})
			}
			
			
			lcAxios(httpUrl).then((res)=>{
				console.log(res)
			})
			
			
			function LcPromise(){
				
			}
		</script>
	</body>
</html>
